perm filename ITALD.MF[MF,SYS]3 blob
sn#798113 filedate 1985-07-09 generic text, type C, neo UTF8
COMMENT ā VALID 00012 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % This file contains the ten digits in so-called italic style.
C00003 00003 cmchar "Italic numeral 0"
C00004 00004 cmchar "Italic numeral 1"
C00006 00005 cmchar "Italic numeral 2"
C00009 00006 cmchar "Italic numeral 3"
C00012 00007 cmchar "Italic numeral 4"
C00015 00008 cmchar "Italic numeral 5"
C00019 00009 cmchar "Italic numeral 6"
C00022 00010 cmchar "Italic numeral 7"
C00025 00011 cmchar "Italic numeral 8"
C00029 00012 cmchar "Italic numeral 9"
C00032 ENDMK
Cā;
% This file contains the ten digits in so-called italic style.
% Character codes \0060 through \0071 are generated.
% The characters all have the same italic correction.
cmchar "Italic numeral 0";
beginchar("0",9u#,fig_height#,0);
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0);
penpos1(vair,90); penpos3(vair,-90); penpos2(curve,180); penpos4(curve,0);
if not monospace: interim superness:=sqrt(more_super*hein_super); fi
x2r=round(1.5u-.5curve); x4r=w-x2r; x1=x3=.5w;
y1r=h+o; y3r=-o; y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
& pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
penlabels(1,2,3,4); endchar;
cmchar "Italic numeral 1";
beginchar("1",9u#,fig_height#,0); less_rounded;
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0);
numeric light_stem; light_stem=round(.4[stem',cap_stem']);
pickup tiny.nib;
pos1(light_stem,0); pos2(light_stem,0);
lft x1l=lft x2l=round(.5(w+.5u)-.5cap_stem'); top y1=h+apex_o; bot y2=0;
filldraw stroke z1e..z2e; % stem
dish_serif(2,1,a,1/3,min(2.25u,lft x2l-1.5u),
b,1/3,min(2.25u,w-1.25u-rt x2r)); % serif
pickup crisp.nib; pos3(slab,-90); pos4(bar,-90);
top y3l=h+apex_o; top y4l=.8h+apex_o;
lft x4=max(1.25u,tiny.lft x1l-2.35u); tiny.rt x1r=lft x3+.25[tiny,hair];
erase fill z3l{x4l-x3l,3(y4l-y3l)}...z4l{left}
--(x4l,h+apex_o+1)--(x3l,h+apex_o+1)--cycle; % erase excess at top
filldraw stroke z3e{x4e-x3e,3(y4e-y3e)}..z4e{left}; % point
penlabels(1,2,3,4); endchar;
cmchar "Italic numeral 2";
beginchar("2",9u#,fig_height#,0); less_rounded;
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0); pickup fine.nib;
pos1(vair,45); pos2(vair,0); pos3(vair,-90); pos4(hair,-180);
pos5(vair,-270); pos6(curve,-360); pos7(hair,-405); pos8(hair,-360);
x1=x2-.5u; rt x2r=round(3.5u+.5vair); x3=.6[x2,x4]; lft x4r=round(u-.5hair);
x5=x7=.5w-.5u; rt x6r=round(w-u); lft x8l=round(1.5u-.5hair);
y1=.5[x_height,h]; y2=1/3[y1,y3]; y4=x_height; bot y3r=vround .78y4;
top y5r=h+o; y6=.5[y5,y7]; y7=.52y4; bot y8=-o;
filldraw stroke if not hefty:z1e{2(x2-x1),y2-y1}...{down}z2e...{left}z3e...fi
z4e{up}...pulled_arc.e(5,6)...z7e{2(x7-x6),y7-y6}...{down}z8e; % main stroke
pos9(vair,-90); pos10(vstem+curve-stem,-90); pos11(hair,0);
x9=w-x10=2.5u; rt x11r=round(w-.5u+.5hair);
y9=.25[y10,y7]; bot y10r=-o; y11=.38x_height;
filldraw stroke z8e{up}...z9e{right}..{right}z10e...{up}z11e; % bar
penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar;
cmchar "Italic numeral 3";
beginchar("3",9u#,fig_height#,0);
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0); pickup fine.nib;
pos1(vair,45); pos2(vair,0); pos3(vair,-90); pos4(hair,-180);
pos5(vair,-270); pos6(stem,-360); pos7(bar,-450); pos8(bar,-450);
x1=x2-.5u; rt x2r=round(3.5u+.5vair); x3=.5[x2,x4]; lft x4r=round u;
x5=x7=.5w; rt x6r=round(w-u); x8=x7-u;
y1=.5[x_height,h]; y2=.5[y1,y3]; y7=y8=.52h; bot y3r=vround(1/4[y7,h]);
y4=1/3[y3,y5]; top y5r=h+o; y6=.5[y5,y7];
filldraw stroke if not hefty: z1e{2(x2-x1),y2-y1}...{down}z2e...{left}z3e...fi
z4e{up}...pulled_arc.e(5,6) & pulled_arc.e(6,7)..z8e; % upper arc
pos7'(vair,90); z7'l=z7r;
pos9(curve,0); pos10(vair,-90); pos11(hair,-180); pos12(flare,-180);
rt x9r=round(w-u); x10=.5w-.5u; lft x11r=round .75u;
y9=.25h; bot y10r=-o; y11=1/3x_height; bulb(10,11,12); % bulb
filldraw stroke pulled_arc.e(7',9) & pulled_arc.e(9,10); % lower arc
penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
cmchar "Italic numeral 4";
beginchar("4",9u#,fig_height#,desc_depth#);
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0); pickup fine.nib;
pos1(stem,0); pos6(stem,0); pos7(stem,0);
pos2(bar,-45); pos3(bar,-90); pos4(bar,-90); pos5(bar,-45);
rt x1r=round(.5w+.5u+.5stem); lft x2l=round .25u;
x3=2.75u; x4=w-2u; rt x5r=round(w-.25u); rt x6r=rt x7r=round(2/3w+.5stem);
y1+.5stem=h+o; bot y2r=0; bot y3r=vround(.08h-.5bar);
bot y4r=vround-.5bar; bot y5r=vround(.03h-.5bar);
y6+.5stem=bar_height; y7-.5stem=-d;
filldraw circ_stroke z1e{down}...{3(x2-x1),y2-y1}z2e; % diagonal
filldraw stroke z2e{z1-z2}...z3e{right}..{right}z4e
...{x5-x4,2(y5-y4)}z5e; % bar
filldraw z6l---z7l..z7r---z6r..cycle; % stem
penlabels(1,2,3,4,5,6,7); endchar;
cmchar "Italic numeral 5";
beginchar("5",9u#,fig_height#,0);
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0);
numeric bot_thickness,light_hair;
bot_thickness=max(fine.breadth,vround(slab-vair_corr));
light_hair=round(cap_hair if hefty: -2stem_corr fi);
pickup tiny.nib; pos5(vair,180); pos6(vair,90);
bot y5=vround(.53h-vair); top y6r=vround .61803h+o;
pos3(light_hair,0); pos4(light_hair,0);
lft x3l=max(1.35u,2.1u-.5light_hair); x3=x4=x5; y4=y5;
top y3=h if not hefty: +o fi;
filldraw stroke z3e..z4e; % thin stem
penpos7(cap_stem-fine,0); penpos8(bot_thickness-fine,-90);
fine.rt x7r=round(w-.9u); x8=.5[u,x7]; x6=.5[x5,x7];
erase fill z5--bot z5--(x6,bot y5)--z6{left}
..tension .9 and 1..{x5-x6,3(y5-y6)}cycle; % erase excess in middle
filldraw stroke z6e{left}..tension .9 and 1..{x5-x6,3(y5-y6)}z5e; % link
pickup fine.nib; pos6'(vair,90); z6'=z6;
y7=.5[y6,y8]; bot y8r=-o;
filldraw stroke pulled_arc.e(6',7) & pulled_arc.e(7,8); % bowl
pos9(hair,-180); y9=.5y5; lft x9r=round .9u;
pos10(flare+1/3(cap_stem-stem),-180); bulb(8,9,10); % bulb
if hefty: pickup crisp.nib; pos1(slab,90); pos2(hair,0);
top y1r=h; x1=x4; rt x2r=round(w-1.5u); y2=y1l; arm(1,2,a,0,0); % arm
else: numeric flag_breadth; flag_breadth=7/8[vair,cap_curve];
pos1(flag_breadth,90); pos2(flag_breadth,60);
pos0(vair,90); top y1r=tiny.top y3; top y2r=vround .95h+o; y0r=y1r;
lft x1=tiny.lft x3l; x2r=.5[x1,x0]; rt x0=round(w-1.6u);
erase fill top z1r--z1r...{right}z2r
--(x2r,top y1r)--cycle; % erase excess at top
filldraw stroke z1e...{right}z2e...z0e; fi % flag
penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
cmchar "Italic numeral 6";
beginchar("6",9u#,fig_height#,0);
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0);
numeric top_thickness,bot_thickness,side_thickness,pull;
top_thickness=max(fine.breadth,vround(slab-2vair_corr));
bot_thickness=max(fine.breadth,vround(slab-vair_corr));
side_thickness=max(fine.breadth,round(1/3[curve,cap_curve]));
pull=min(.25,1.5superpull);
pickup fine.nib; pos2(top_thickness,-270);
pos3(side_thickness,-180); pos4(bot_thickness,-90);
pos5(side_thickness,0); pos6(vair,90);
lft x3r=w-rt x5r=round max(.75u,1.5u-.5side_thickness); x4=x6-.1u=x2-u=.5w;
top y2r=h+o; y3=.5[y2,y4]; bot y4r=-o; y5=.5[y4,y6]; top y6=vround 5/8h+o;
path p; p=pulled_super_arc.l(3,4)(pull);
numeric t; t=xpart(p intersectiontimes((x3r,y5)--(x4,y5)));
pos7(thin_join,180); z7l=point t of p;
(x,y6r)=whatever[z7l,z6l]; x6r:=min(x,.5[x5r,x6]);
filldraw stroke pulled_super_arc.e(2,3)(pull)
& {{interim superness:=more_super; pulled_super_arc.e(3,4)(pull)}}
& {{save ...; let ... = ....;
pulled_super_arc.e(4,5)(pull) & pulled_super_arc.e(5,6)(pull)}}
& z6e{left}...{direction t of p}z7e; % arc and bowl
pos1(hair,-360); pos0(flare,-360);
rt x0r=round(w-1.2u); y0=vround min(.9h-.5flare,.85h+.5flare)+o;
{{save ...; let ... = ....; bulb(2,1,0)}}; % arc and bulb
penlabels(0,1,2,3,4,5,6,7); endchar;
cmchar "Italic numeral 7";
beginchar("7",9u#,fig_height#,desc_depth#);
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0); pickup fine.nib;
numeric fat_curve; fat_curve=1.4[stem,curve];
pos1(hair,0); pos2(hair,0); pos3(vstem+curve-stem,-90);
pos4(vair,-90); pos5(hair,0); pos6(fat_curve,0);
top y1=h+o; y2=x_height; y3l=y5=y1;
bot y4r=vround(.5[y2,h]-.5vair); y6-.5fat_curve=-o;
lft x2l=round(.5u-.5hair); x3=.5w-.5u; x4=2/3w;
rt x5r=round(w-.75u+.5hair); rt x6r=round(.5w+u+.5fat_curve);
z1=z2+whatever*(z5-z6); filldraw stroke z1e--z2e; % serif
filldraw stroke z2e{z1-z2}...z3e{right}..{right}z4e
...{2(x5-x6),y5-y6}z5e; % bar
filldraw circ_stroke z6e{up}...{2(x5-x6),y5-y6}z5e; % diagonal
penlabels(1,2,3,4,5,6); endchar;
cmchar "Italic numeral 8";
beginchar("8",9u#,fig_height#,0);
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0);
numeric top_thickness,mid_thickness,bot_thickness,upper_side,lower_side,theta;
top_thickness=max(fine.breadth,vround(slab-2vair_corr));
bot_thickness=max(fine.breadth,vround(slab-vair_corr));
x0=.5w; y0=.54h;
if hefty: mid_thickness=vround 2/3vair; upper_side=round(stem-3stem_corr);
lower_side=round min(.5[curve,cap_curve]-stem_corr,upper_side+.25u);
penpos1(top_thickness,90); penpos2(upper_side,180);
penpos3(mid_thickness,270); penpos8(upper_side,360);
penpos4(mid_thickness,90); penpos7(lower_side,180);
penpos6(bot_thickness,270); penpos5(lower_side,360);
penpos0(vair,90); z3l=z0r; z4l=z0l;
x1=x6=.5w; x2r=w-x8r=round u; x7r=w-x5r=round .75u;
top y1r=h+o; bot y6r=-o; y2=y8=.5[y1l,y3l]; y7=y5=.5[y4l,y6l];
filldraw stroke pulled_arc.e(1,2)
& pulled_arc.e(2,3); % left half of upper bowl
filldraw stroke pulled_arc.e(4,5)
& pulled_arc.e(5,6); % right half of lower bowl
filldraw stroke pulled_arc.e(6,7)
& pulled_arc.e(7,4); % left half of lower bowl
filldraw stroke pulled_arc.e(3,8)
& pulled_arc.e(8,1); % right half of upper bowl
else: pickup fine.nib; theta=90-angle(18u,h); slope:=-h/18u;
upper_side=max(fine.breadth,round(.5[hair,stem]-stem_corr));
lower_side=round(.5[hair,stem]+stem_corr);
pos1(top_thickness,-90); pos6(bot_thickness,-90);
x1=x6=.5w; top y1l=h+o; bot y6r=-o; pos0(cap_stem,theta);
lft x2l=w-rt x8l=round 1.25u; lft x7r=w-rt x5r=round .75u;
x2r-x2l=upper_side-fine; x5r-x5l=lower_side-fine;
ellipse_set(1l,2l,3l,0l); ellipse_set(1r,2r,3r,0r);
ellipse_set(6l,5l,4l,0l); ellipse_set(6r,5r,4r,0r);
numeric tau; tau=max(.8,.20710678/(superness-.5));
filldraw stroke z1e{left}..tension atleast tau..z2e{down}
..z3e---z4e..z5e{down}..tension atleast tau..z6e{left}; % S stroke
pos7(lower_side,180); pos8(upper_side,180);
y7=.5[y5l,y5r]; y8=.5[y2l,y2r]; pos9(vair,90); z9=z0;
filldraw stroke z1e{right}..tension atleast tau..z8e{down}
..tension atleast tau and atleast 1..{-18u,-.618h}z9e; % upper right stroke
filldraw stroke z6e{left}..tension atleast tau..z7e{up}
..tension atleast tau and atleast 1..{18u,.5h}z9e; fi % lower left stroke
penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
cmchar "Italic numeral 9";
beginchar("9",9u#,fig_height#,0);
italcorr fig_height#*slant-.5u#;
adjust_fit(0,0);
numeric top_thickness,bot_thickness,side_thickness,pull;
top_thickness=max(fine.breadth,vround(slab-2vair_corr));
bot_thickness=max(fine.breadth,vround(slab-vair_corr));
side_thickness=max(fine.breadth,round(1/3[curve,cap_curve]));
pull=min(.25,1.5superpull);
pickup fine.nib; pos2(bot_thickness,-90);
pos3(side_thickness,0); pos4(top_thickness,90);
pos5(side_thickness,180); pos6(vair,270);
w-rt x3r=lft x5r=round max(.75u,1.5u-.5side_thickness);
x4-.1u=x6+.1u=x2+.75u=.5w;
bot y2r=-o; y3=.5[y2,y4]; top y4r=h+o; y5=.5[y4,y6]; bot y6=vround 3/8h-o;
path p; p=pulled_super_arc.l(3,4)(pull);
numeric t; t=xpart(p intersectiontimes((x3r,y5)--(x4,y5)));
pos7(thin_join,360); z7l=point t of p;
(x,y6r)=whatever[z7l,z6l]; x6r:=max(x,.5[x5r,x6]);
filldraw stroke pulled_super_arc.e(2,3)(pull)
& {{interim superness:=more_super; pulled_super_arc.e(3,4)(pull)}}
& {{save ...; let ... = ....;
pulled_super_arc.e(4,5)(pull) & pulled_super_arc.e(5,6)(pull)}}
& z6e{right}...{direction t of p}z7e; % arc and bowl
pos1(hair,-180); pos0(flare,-180);
lft x0r=round 1.2u; y0=vround max(.1h+.5flare,.15h-.5flare)-o;
{{save ...; let ... = ....; bulb(2,1,0)}}; % arc and bulb
penlabels(0,1,2,3,4,5,6,7); endchar;